
\begin{center}
  {\Large{\textbf{A LLVM based development environment for embedded systems
  software targeting the RISCO processor}}}
\end{center}

\vspace{1cm}

\begin{flushright}
  Author: Giuliano de Souza Vilela Cid\\
  Advisor: \monoproforient
\end{flushright}

\vspace{1cm}

\begin{center}
  \Large{\textsc{\textbf{Abstract}}}
\end{center}

\noindent
This work describes the design and implementation of a compilation and code
analysis toolchain for embedded systems software targeting the RISCO processor,
using the LLVM project. Small systems embedded in a larger device are by far the
most common kind of computational system in use today, deployed in various types
of equipments. Because of their nature, an embedded system presents interesting
size, efficiency and energy comsumption restrictions, among others, that impose
unique challenges on a project. In that cenario, the RISCO processor, a RISC
architecture similar to MIPS, was created as a simple, efficient, processor
that could prove to be a practical alternative to the available commercial
options in its price range. The toolchain we developed permit the development,
simulation and analysis of software in C and C++ for the RISCO platform, with
open source tools. This work discusses the design decisions involved in the
development of the compilation and analysis system, and the results obtained
testing the tools.

\noindent\textit{Keywords}: RISCO processor, LLVM, compiler, assembler,
simulator, static analysis, embedded systems
